package com.sino.business;

import java.util.List;

import com.sino.model.BasicInfoModel;
import com.sino.model.ExpertModel;

/**
 * 
 * @author IBM
 * 
 */
public interface IExpertManageService {
	/**
	 * 评审专利列表
	 * 
	 * @param firstRow
	 * @param maxRow
	 * @param hqlwhere
	 * @return
	 */

	/**
	 * 查询专家
	 * 
	 * @param id :
	 *            专利zlid
	 * @return List
	 */
	public ExpertModel getExpertsByZlid(String id);

	/**
	 * 获得id的专利分配专家
	 * 
	 * @param id
	 * @return
	 */
	public List getExpertsAndBasicinfoByZlid(String id);

	/**
	 * 通过专业代码查找专家信息
	 * 
	 * @param zhuanyema
	 * @return
	 */
	public List<ExpertModel> findExpertByZhuanyema(String zhuanyema);

	/**
	 * 获得专家列表
	 * 
	 * @return
	 */
	public List getExpertList(final int firstRow, final int maxRow,
			String hqlwhere);

	/**
	 * 获得所有专家列表
	 * 
	 * @return
	 */
	public List<ExpertModel> findAllExperts();

	/**
	 * 通过查询条件查找符合条件的专家列表
	 * 
	 * @param hqlWhere
	 * @return
	 */
	public List<ExpertModel> findExperts(String hqlWhere);

	public int getExpertsCount(String hqlwhere);

	/**
	 * 分配专利列表
	 * 
	 * @param firstRow
	 * @param maxRow
	 * @param hqlwhere
	 * @return
	 */
	public List getReviewPatentPageList(int firstRow, int maxRow,
			String hqlwhere, String assignFlag);

	public int getReviewPatentPageCount(String hqlwhere, String assignFlag);

	/**
	 * 保存分配专家专利信息表
	 * 
	 * @param em
	 * @return
	 */
	public int saveExpertAndBasicinfo(String zlid, String fbh[]);

	/**
	 * 删除专家专利信息
	 * 
	 * @param zlid
	 * @return
	 */
	public int delExpertAndBasicinfo(String zlid);

	/**
	 * 检查专家用户名
	 * 
	 * @param name
	 * @return
	 */
	public ExpertModel checkExpertName(String name, String password);

	public List getExpertReviewPageList(int firstRow, int maxRow,
			String hqlwhere);

	public int getExpertReviewPageCount(String hqlwhere);

	/**
	 * 修改专家密码
	 * 
	 * @param em
	 */
	public void updatePassword(ExpertModel em);

	/**
	 * xyw 项目信息
	 * 
	 * @param zhuanyema
	 * @return
	 */
	public List<BasicInfoModel> findSmByZhuanyema(String hql,String zhuanyema);

	/**
	 * xyw 查询所有呀
	 * 
	 * @return
	 */
	public List<BasicInfoModel> findAllSms(String hql);

	/**
	 * xyw 高级查找项目
	 * 
	 * @param hqlWhere
	 * @return
	 */

	public List<BasicInfoModel> findSms(String hqlWhere);
}
